Method, apparatus and article for displaying targeted content on web pages by predicting the group membership of individual visitors

ABSTRACT

A method, apparatus and article for displaying targeted content on web pages by predicting the group membership of individual visitors based on data items relating to a web browser request for a web page. The method includes applying the data items to a set of transfer functions to obtain a series of confidence factors relating to a plurality of predefined visitor groups, selecting one of the plurality of visitor groups based on the series of confidence factors, selecting content targeted to the selected group, and delivering the selected targeted content to the web browser for display. Data items are extracted from a header accompanying the web browser request. These include browser type and version, operating system, referring URL and IP address. These data items are supplemented with data items derived from the data items present in the header, such as location, time of day, day of week, and industry cycles.

CROSS REFERENCE TO RELATED APPLICATION

[0001] The present application claims priority from U.S. Provisional Application No. 60/374,541, filed on Apr. 22, 2002.

BACKGROUND OF THE INVENTION

[0002] The present invention is directed to a method, apparatus and article for displaying targeted content on web pages, and more particularly, to a method for predicting the group membership of individual visitors based on information obtained at the time of the initial page request to a web site to display the targeted content on the home page or other pages displayed to the visitor.

[0003] The Internet is clearly becoming the place of choice to obtain information on companies and products. Companies in turn are making efforts to provide content targeted to the individual visitors to their web sites. For example, many home pages attempt to highlight many different offerings, such as advertisements targeting students, investors, home product buyers, and business buyers. However, the majority of methods currently in use require that a visitor actively take steps to personalize a page before targeted content can be shown. On a portal site, logging in is not always feasible or desirable because the primary purpose of the home page of the portal is to quickly move visitors to other websites. For many visitors, the process of creating a profile and logging in wastes more time than the advantage of viewing personalized content.

[0004] There are currently several techniques in use for personalization of web content. In the registration-based personalization technique mentioned above, each visitor is issued a visitor name and password, which is linked to a profile stored by the server. The visitor logs in to receive personalized content. The time required to obtain the password and id and the difficulty in remembering them discourages visitors from logging onto many web sites. In addition, many visitors do not want to provide the personal information needed to create the profile.

[0005] Another technique is known as implicit personalization, in which web content is personalized without relying upon information explicitly provided by the visitor. One type of implicit information commonly used is visitor behavior, such as viewing pages or purchasing items. One example of this technique is described in U.S. Pat. No. 6,338,066, which discloses a method for predicting a given web surfer's behavior based on the behavior of past surfers. The method requires that the surfer take a certain number of actions and based on these initial actions content is displayed based on predicted future actions.

[0006] A third technique is based on locally stored preferences. In this method, the web application sets a cookie on the visitor's computer, which remembers certain settings, as explicitly set by the visitor. Reliance on the placement of a cookie is uncertain at best and in addition, privacy questions have been raised with regard to obtaining information about visitors from cookies, with or without the visitor's knowledge.

[0007] A fourth technique is known as location-based personalization. In this technique the visitor's location is determined and a page specific to that location is presented to the visitor. The location may be determined by explicit visitor selection, or through a service which returns location information based on IP address or other information obtained from the header accompanying the web page request.

[0008] Implementation of one or more of these techniques may use matching engines such as those described in U.S. Pat. Nos. 6,289,340 issued to iXmatch, Inc.; and 6,334,127 and 6,321,221, assigned to Net Perceptions, Inc.

[0009] All of these mechanisms, except for location-based personalization, require that a profile be maintained, either by the server, by the client, or both. Location-based personalization is limited in that it is unable to distinguish between multiple groups residing in the same physical location, or to distinguish between types of visitor activities that the same visitor might wish to perform at different times.

[0010] While not directed to personalization, U.S. Pat. No. 6,167,441 uses header information to determine the display capabilities of a browser and thereafter direct the browser to a URL that contains a version of the requested document within the display capability. The current intended purpose of the header information is to alter the markup language (code) that is sent to the browser so that the page is rendered correctly. The content itself is typically not changed based on header information.

[0011] There is a need for a technique that offers the benefits of the first three types of personalization (e.g. role-based delivery of content) without maintaining a profile of any kind for the visitor, and without requiring the visitor to log in or take any initial actions, so that targeted content can be provided on the home page or other web pages displayed to the visitor.

[0012] In addition, as more of the general public is able to access the Internet both at home and at work, the current trend is to significantly reduce the size and complexity of the home pages to make it easier for these new visitors. As a consequence, there will not be as much space available to advertise product offerings. Therefore, a system is needed that would maximize the use of this space by targeting content based on membership in a visitor group, while remaining completely transparent to the visitor.

BRIEF SUMMARY OF THE INVENTION

[0013] The present invention is directed to a method, apparatus and article for displaying targeted content on web pages by predicting the group membership of individual visitors. The method comprises the steps of:

[0014] (a) obtaining data items relating to a web browser request for a web page;

[0015] (b) applying the data items to a set of predictive transfer functions to obtain a series of confidence factors relating to a plurality of predefined visitor groups;

[0016] (c) selecting one of the plurality of predefined visitor groups based on the series of confidence factors;

[0017] (d) selecting content targeted to the selected group; and

[0018] (e) delivering the selected targeted content to the web browser for display.

[0019] In accordance with the method of the present invention, data items are obtained by extracting visitor supplied data items directly from a header accompanying the web browser request. These items include browser type, browser version, operating system, referring URL and IP address. Visitor supplied data items are data that is directly contained within the header. In addition, supplemental data items are also obtained based on data in the header. These supplemental data items can be derived directly or indirectly from the header data. For example, the IP address can be used to query a geolocation database to obtain location related data, such as country, time zone, city, etc. Location related data is an example of data directly derived from the header. Data items indirectly derived from the header information are obtained by performing a calculation or other process such as a lookup, based on the header information and/or the location related data, and using the calculated data to obtain the supplemental data items. An example of indirectly derived data is the use of the time zone information to determine the time of day the browser request was received. Other indirectly derived supplemental data items include, day of week, day of month, as well as industry cycles and other events based on the time and date data. All of the data items described above, namely, the visitor supplied data items obtained directly from the header and the supplemental data items derived either directly or indirectly from the header are defined herein as data items relating to a web browser request.

[0020] Statistical or non statistical correlation techniques are used to develop the predictive transfer functions which link anonymous characteristics of web visitors to a series of groups, whose members have similar browsing patterns. Content is tagged and weighted according to its relevance to each group. In accordance with one exemplary embodiment of the present invention, the predictive transfer functions are of the form: Y_(n)=aX₁+bX₂+cX₃ . . . , where n is 1 to m predefined visitor groups, each Y is a confidence factor for membership in group n, each X represents a different visitor characteristic, and each a, b, c . . . , represents a weight factor for each X based on the relevance of each X to each Y_(n). It should be obvious to anyone skilled in the art that Y could be any function of X, e.g. Y_(n)=F(X₁ . . . X_(m)). Of course, it is likely to be computationally simpler if the equation is linear.

[0021] When a visitor requests a page from the server, whether the initial request for a page at a site or subsequent requests, group membership is determined by applying the data items to the transfer functions. The data items may be the visitor supplied data items, the supplemental data items or, both types of data items. Thereafter, content is served based on membership in one or more groups, while remaining completely transparent to the visitor. A best-fit matching algorithm can be used to select the content for that group best targeted to the visitor.

BRIEF DESCRIPTION OF THE DRAWINGS

[0022]FIG. 1 is a chart showing an example of the correlation between browsing patterns and the day of the week.

[0023]FIG. 2 is a chart showing an example of the correlation between browsing patterns and the Time of Day.

[0024]FIG. 3 is a process diagram of the method of the present invention.

[0025]FIG. 4 is a layout of a main web page showing how the targeted content is displayed.

DETAILED DESCRIPTION OF THE INVENTION

[0026] The present invention allows full execution of personalized content delivery to be enabled starting with the very first page that a visitor requests from the server.

[0027] When a visitor requests a web page from a server, information about the browser and operating system are usually sent to the server as part of the request. This information, typically included in the header, is used to customize content on the page. These items include browser type, browser version, operating system, referring URL and IP address. Visitor supplied data items are data that is directly contained within the header. In addition, supplemental data items are also obtained based on data in the header. These supplemental data items can be derived directly or indirectly from the header data. For example, the IP address can be used to query a geolocation database to obtain location related data, such as country, time zone, city, etc. Location related data is an example of data directly derived from the header. Data items indirectly derived from the header information are obtained by performing a calculation or other process such as a lookup, based on the header information and/or the location related data, and using the calculated data to obtain the supplemental data items. An example of indirectly derived data is the use of the time zone information to determine the visitor's local time of day when the browser request was made. Other indirectly derived supplemental data items include, day of week, day of month, as well as industry cycles and other events based on the time and date data. All of the data items described above, namely, the visitor supplied data items obtained directly from the header and the supplemental data items derived either directly or indirectly from the header are defined herein as data items relating to a web browser request.

[0028] The present invention is based on the discovery that there is a correlation between browsing patterns and these visitor supplied data items. There is also a correlation between browsing patterns and the supplemental data items. These supplemental data items are obtained from either known or specially created lookup tables and/or databases.

[0029] The charts shown in FIGS. 1 and 2 present examples of the correlation between the Day Of The Week (FIG. 1) and the Time Of Day (FIG. 2) for content directed to Home Solutions and content directed to Industry Solutions, which are pages on a web site containing content relating to products for home and industry, respectively. FIG. 1 shows that Industry Solutions traffic decreases on weekends but Home Solutions traffic increases as a percent of the total traffic. FIG. 2 shows that Home Solutions traffic increases during lunchtime while Industry Solutions traffic falls significantly. These discoveries, along with the discovery that when multiple factors are combined they contribute to a higher confidence level, are among the factors that are the basis of the system of the present invention.

[0030] Execution of the personalized content delivery method of the present invention depends on two related processes. The first is an offline process wherein visitor groups are determined, content is tagged, and transfer functions are defined. The second process is an online process that selects and delivers content based on implicit visitor characteristics.

[0031] Offline Process

[0032] Step 1: Determine Visitor Groups. Define groups for visitors with similar browsing characteristics. For example, these can include Home Products, Investor Info, Industrial Products, Corporate Info, Business Finance, Press Materials, Consumer Finance and Careers.

[0033] Step 2: Determine and Classify Content. Using past data from web server log files and other sources, determine the one or more pieces of content that is of interest to each group and tag each piece of web content with a series of weights to indicate its applicability to each group as defined in step 1.

[0034] Step 3: Define Transfer Functions. The transfer functions can be any linear or non-linear function which represents the correlation between browsing patterns and the visitor supplied and supplemental data items obtained and/or derived from the browser request. For purposes of demonstration, a linear function will be used to simplify the discussion. However, it should be understood by anyone skilled in the art that any function of X, e.g. Y_(n)=F(X₁ . . . X_(m)) can be used, with the trade-off that more complicated functions are likely to be more accurate, but computation time will be increased. In accordance with one exemplary embodiment of the present invention, the predictive transfer functions are of the form: Y_(n)=aX₁+bX₂+cX₃ . . . , where n is 1 to m predefined visitor groups, each Y is a confidence factor for membership in group n, each X represents a different data item, and each a, b, c . . . , represents a weight factor for each X based on the relevance of each X to each Yn. The steps to define the transfer functions include:

[0035] Step 3A. Determine the Data Items. List all available information about the visitor as X's. In an exemplary embodiment, this might include:

[0036] browser type

[0037] browser version

[0038] operating system

[0039] referring URL

[0040] IP address.

[0041] This is the information that is available from the header of a web browser request.

[0042] This information can be augmented with supplemental data items from a geolocation dataset which may be able to provide:

[0043] country

[0044] time zone

[0045] city

[0046] state/province

[0047] top-level domain

[0048] secondary domain

[0049] line speed

[0050] connection type.

[0051] Additional supplemental data items include:

[0052] time of day

[0053] day of week

[0054] day of month

[0055] day of quarter

[0056] industry cycles

[0057] financial event schedule

[0058] product event schedule.

[0059] The supplemental data items are stored in lookup tables and/or databases for access upon a web browser request. There are known geolocation databases available that can be used, which can be customized as necessary. Application specific databases must be designed to accommodate the other supplemental data items. The supplemental data items is information that could be derived either directly or indirectly from the header information.

[0060] Step 3B. Determine Y's. Identify representative content from the one or more pieces of content from each group, to be used to determine the group membership of a visitor. For example, if “students” is a group, then “student portal main page” would be an appropriate piece of content to use as a Y.

[0061] Step 3C. Determine Transfer Functions. Using a data set based on web server log files (and other sources as necessary), use correlation techniques on the X's and Y's to produce a series of transfer functions.

[0062] There are a number of ways to create a transfer function. Which method to use might depend on one or more of the following:

[0063] Amount of data available

[0064] Type of data available

[0065] Development time

[0066] Familiarity with statistical techniques

[0067] Business criticality of accuracy

[0068] Examples of possible ways to create transfer functions follow.

[0069] (1) Best-guess estimation. It is possible to create transfer functions based purely on a logical review of the data. For example, if web server log files show that visitors use the following operating systems when visiting a particular site:

[0070] Windows 95

[0071] Windows 98

[0072] Windows XP

[0073] Windows ME

[0074] Windows NT

[0075] Windows 2000

[0076] Then it is reasonable to assume that visitors using Windows NT and Windows 2000 are more likely to be at work than visitors using the other versions of Windows, because NT and 2000 were developed for and marketed toward business users. Therefore, transfer functions could be created as follows:

[0077] I. Define Variables. In the example below, the value of the variable is defined to be 1 when true and 0 when false. Under normal circumstances, the HTTP request header will indicate only one OS version.

[0078] X₁=OS is Windows 95

[0079] X₂=OS is Windows 98

[0080] X₃=OS is Windows XP

[0081] X₄=OS is Windows ME

[0082] X₅=OS is Windows NT

[0083] X₆=OS is Windows 2000

[0084] Y₁=Business User

[0085] Y₂=Home User

[0086] II. Create Transfer Functions

Y ₁ =X ₅ +X ₆

Y ₂ =X ₁ +X ₂ +X ₃ +X ₄

[0087] To develop a more sophisticated transfer function, additional criteria could be employed. Suppose we introduce the following additional X's and additional Y:

[0088] X₇=Top-level Domain is GOV

[0089] X₈=Top-level Domain is ORG

[0090] X₉=Top-level Domain is EDU

[0091] Y₃=Student

[0092] It is reasonable to assume that visitors having a Top-level domain (TLD) equal to GOV are accessing the Internet from work, and that visitors with TLD equal to EDU are accessing from a school and are therefore likely to be students. Visitors having a TLD equal to ORG are probably more likely to be business users, but it is not a strong indicator. Having a TLD of COM doesn't necessarily indicate membership in any of the three groups defined. Therefore, it will be left out of the example transfer functions.

[0093] The transfer functions could be modified as follows:

Y ₁=0.8*(X ₅ +X ₆)+0.2*(0.9*X ₇+0.1*X ₈)

Y ₂=0.9*(X ₁ +X ₂ +X ₃ +X ₄)

Y₃=X₉

[0094] In this example, TLD only has a 20% impact on the determination of whether or not a visitor is determined to be a business user, whereas operating system version has an 80% impact. Likewise, a TLD of GOV carries more weight (90%) than a TLD of ORG, within the narrower consideration of top-level domain. In this example, the maximum expected value of the second transfer function is 0.9, which allows the first and third rules to take precedence over it. In other words, in case of a tie, where the user is running Windows 95 and TLD is EDU, the third equation will return the higher value, which will cause the user to be determined to be a student, which is reasonable.

[0095] (2) Visualization. Graphing the data may show patterns that lead to the creation of transfer functions. For example, in the graph of FIG. 1 showing industry solutions and home solutions traffic by day of week, there is a visual indication that visitors are more likely to visit home solutions pages rather than industry solutions pages on weekends. In this example, the graph's X axis shows the factors (X's). The graph's Y axis shows number of page views for one or more pages. It is important that the pages graphed on the Y axis be clearly connected with a group. In the example above, it can be reasonably assumed that home solutions page traffic is generated by visitors looking for home products, and industry solutions page traffic is generated by visitors looking for business products. This allows the connection to be made between X's and group membership.

[0096] Based on this graphical analysis, transfer functions can be produced as in the previous approach.

[0097] (3) Hypothesis Testing. It should be apparent to anyone familiar with the relevant branch of statistics that hypothesis testing could be used to determine which factors (X's) are statistically significant. For example, a t-test might be performed to determine whether day of week being weekend or weekday was a statistically significant factor in determining if visitors are more likely to be seeking home products or business products (using the same method of choosing a representative page, such as industry solutions or home solutions, as in the visualization approach). Of course, the correct hypothesis test must be chosen based on the type and nature of the data, according to generally accepted statistical principles and methods.

[0098] Once a factor is determined to be statistically significant, it can be added to the transfer function(s).

[0099] The following Table I shows the result of an ANOVA performed on example data showing that traffic to an industry solutions page on weekends is statistically different from traffic on weekdays. Therefore, day of week being weekend or weekday can be determined to be a significant factor in predicting membership in the “business user” group. TABLE I Individual 95% CIs For Mean Based on Pooled StDev Level N Mean StDev ----------+---------+---------+------ Fri 52 1025.0 566.9                    (----*----) Mon 52 1154.5 578.5                         (---*----) Sat 52 458.3 520.2 (----*----) Sun 52 477.0 541.1  (----*----) Thu 52 1168.3 554.3                         (----*----) Tue 52 1262.5 565.6                            (----*----) Wed 52 1221.2 415.2                           (----*----) ----------+---------+---------+------ Pooled StDev= 537.1         600       900      1200

[0100] Again, this same technique can be repeated for multiple X's and for multiple user groups.

[0101] (4) Regression. Visualization and hypothesis testing help to identify significant X's, but do not produce exact formulas to be used as transfer functions. This is not necessarily a serious drawback, since the prediction of group membership using the present method is not intended to be exact. However, in order to be as precise as possible, or to discover non-linear relationships between variables not apparent using the above methods, statistical regression techniques can be employed.

[0102] A computer program such as Minitab can be used to make the calculations easier to perform. The data for the regression could be structured as shown in Table II below: TABLE II Column A Column E Column F Target PV/ Column B Column C Column D Session Day of Total PV Session # Browser Oper. Sys Start Time Week 0 1 3.01 1 1.16 0 .18 2 4.0 0 5.33 1 .9 3 5.5 1 6.5 1 .28 4 3.0 0 14.75 1 .44 5 4.06 0 23.12 2 .31 6 5.5 1 11.19 2 .77 7 6.0 1 12.30 5 — — — — — —

[0103] In this example, each row represents a unique user session as recorded by the web server. Columns are defined as follows:

[0104] Column A: Page views for a page representing a user group (e.g. home solutions page) divided by the total number of page views for the session

[0105] Column B: Session number, numbered sequentially in this case

[0106] Column C: Version number of the browser, or zero if not available

[0107] Column D: A number indicating whether the user's operating system is a business OS or a consumer OS. 1=business OS, 0=consumer OS or unknown.

[0108] Column E: The local (visitor's) time when the session started, converted to a 24-hour decimal format. 6:30 AM is represented as 6.5; 2:45 PM is represented as 14.75.

[0109] Column F: A number representing the local (visitor's) day of week when the session was started, with Monday=0, Tuesday=1, Wednesday=2 etc. A value of zero or a best-guess is used if the visitor's day of week is not known.

[0110] Once this data is collected and properly formatted, regression can be performed by using Column A as the Response and Columns C, D, E, and F as Predictors. In this example, the session number is known beforehand to not be statistically significant. This will result in a formula where the value for Column A, which is also the confidence factor, or Y, for membership in the group, is given as a function of the values for columns C, D, E, and F. It is conceivable that some columns (X's) will not be statistically significant and will not appear in the final equation. Likewise, it is conceivable that in order to achieve the level of statistical significance desired, it would be necessary to use additional X's in the regression. This should be clear to anyone experienced with statistical regression techniques.

[0111] Given the very small data set shown in the example above, Minitab calculates the following transfer function:

A=−0.627+0.222*B−0.017*C+0.0097*D−0.022*E

[0112] Where A, B, C, D, and E are the columns as defined above. In practice, more data would be necessary in order to make the results statistically significant. This data is shown for illustrative purposes only.

[0113] This process could be repeated for a series of target pages, thus producing a series of transfer functions that produce confidence factors that a particular visitor should be considered as part of a particular group.

[0114] Online Process

[0115] All available data items (X's) are collected at the beginning of a visitor session. The data items may be the visitor supplied data items, the supplemental data items or both types of data items. To these X's, each transfer function is applied to obtain a series of confidence factors, Y_(1 . . .) X_(n), representing the chance that the visitor falls into groups 1 . . . n. These weights are matched with content weights (as defined in the offline process, step 2) using, for example, a best-fit matching algorithm, and the resulting content is displayed to the visitor.

[0116] The benefits of the present invention over existing techniques include of the following.

[0117] There is no login required. This eliminates the steps involved with obtaining and maintaining visitor id's and passwords, the difficulty for visitors to remember them, and the time necessary to enter them.

[0118] There is no need for visitors to specify what group they belong to. This saves time for visitors and means that everyone that comes to the site will be able to take advantage of personalization, whether or not they take the time to personalize. Many visitors fail to take advantage of personalization because of the effort involved to set up a profile.

[0119] There is less data storage required. Profiles are not stored for individual visitors, which can be a data storage problem for sites with a large number of visitors.

[0120] The system is better for privacy. Since profiles are neither created nor stored for visitors, issues with various privacy laws are avoided.

[0121] There are no cookies required. Some personalization techniques require that cookies are enabled on the browser, which increasingly is not a safe assumption.

[0122] There is no ramp-up time. The personalization scheme works fully on the first page view of the first visitor visit to a site. Personalization based on clickstreams or other visitor activity often takes many return visits before it begins to be accurate.

[0123] Turning now to FIG. 3, there is shown a process diagram of the method of the present invention.

[0124] Step 1. The process starts when a web browser 10 requests a page from a server 12. In one example, iPlanet Portal is the Server. The server extracts the visitor supplied data items such as browser type and version, referring URL and operating system from the HTTP request headers.

[0125] Step 2. The server performs a lookup based on the IP address of the requestor at geolocation database 14 to obtain the supplemental location data items identified above. In one example, Quova provides the geolocation information.

[0126] Step 3. These supplemental data items about the visitor obtained from the location lookup are returned to the server.

[0127] Step 4. All of the visitor supplied and geolocation data items known about the visitor are passed to the Rules Engine 16. In one example, a BLAZE/HNC Rules Engine is used.

[0128] Step 5. The rules engine 16 augments this information about the visitor with the additional supplemental data items described above, such as browsing patterns by time of day, day of week, day of month, day of quarter, etc., from additional lookup tables 18. Information about industry cycles would also be returned in this step. The rules engine 16 is also capable of querying the lookup tables 18 to determine the relationship between certain referring URL's (or URL patterns) and group membership. The lookup tables 18 are data specific tables that are custom designed depending on the application for which this system is employed to contain the desired supplemental data items.

[0129] Step 6. Confidence factors for membership in each group are calculated based on all or a subset of all available data items by using pre-determined transfer functions 20.

[0130] Step 7. A best-fit matching algorithm 22 determines the most relevant content based on the weights 24 in the content store 26 and the confidence factors for the visitor as computed by the transfer functions 20. Content management system 28 stores offline all content 30 and related target group weights 32 for the web site. Periodic updates of the content 30 and weights 32 of the content management system 28 are transferred to application content store 26.

[0131] Step 8. The rules engine 16 returns to the server 12 the content 34 determined to be most relevant for this visitor.

[0132] Step 9. The server 12 combines this targeted content along with other (non-targeted) page content and returns the complete page to the visitor's web browser 10.

[0133] The present invention is not limited to the use of a best-fit match algorithm for content, as described above in the online process. However, the following is an example where it would lead to better content being served to the visitor as compared to choosing the group with the highest confidence factor (Y_(n)).

[0134] As part of the offline process (step 2), weights are assigned to each piece of content. For example, with the following scale:

[0135] 0—Do not target

[0136] 1—Target if no other content available

[0137] 3—Moderately target

[0138] 9—Strongly target

[0139] 10—Mandatory content for this group

[0140] Suppose there are two different pieces of content ranked as follows: Page Student Investor Home Visitor Appliances Home 1 1 9 Appliances History 3 3 9

[0141] Now suppose there are two visitors that access the system that are assigned confidence factors (Yn's) as follows: Visitor Student Investor Home Visitor Visitor A 10% 15% 80% Visitor B 40% 45% 80%

[0142] In trying to match content to a visitor, if you only looked at the “winning” group (the one with the highest confidence factor), then you would determine that both visitors are Home Visitors, and then have to randomly decide whether to show them Appliances Home or Appliances History.

[0143] However, if you used a best-fit matching algorithm, you would take into account the fact that there is a possibility that Visitor B could also be interested in investing or student information. By not throwing out this data, you can make a better match. In this case, Visitor A would get Appliances Home (which is intended to be more strongly targeted toward home visitors), and Visitor B would be shown Appliances History (which has a broader appeal).

[0144] One way to do this is a least-squares fit, as follows (translate 10% to 1, 15% to 1.5, etc): Visitor A, Appliances Home: (1-1)² + (1-1.5)² + (9-8)² =1.25 Visitor A, Appliances History: (3-1)² + (3-1.5)² (9-8)² = 7.25 Visitor B, Appliances Home: (1-4)² + (1-4.5)² + (9-8)² = 22.25 Visitor B, Appliances History: (3-4)² + (3-4.5)² + (9-8)² = 4.25

[0145] With this method, low scores are better. You can see that these page decisions match what was chosen logically above. If a least-squares fit cannot be used because of the complexity of the calculation, a number of different, standard matching algorithms will work.

[0146]FIG. 4 shows an example of content that might appear on a main page 40 of a company web site employing the present method. In this example, the Header 42 and Main Navigation 44 would remain the same for all site visitors. Main Product Feature 46 and Supporting Copy 48 would change based on predicted group membership. The content store 26 of FIG. 3 would hold a series of product features, each ranked based on their applicability to different groups. This might include all products that a company markets, or it may be a subset deemed particularly appropriate for marketing on the web.

[0147] The Secondary Product Spotlight 50 and Tertiary Product Spotlight 52 could either be the number 2 and number 3 matches from the same pool of content, or they could be different pieces of content created specifically for this area of the page.

[0148] Company News 54 could be filtered based on predicted group membership, to show the news most relevant to the visitor, with the most important news marked as mandatory in the content management system 28 (FIG. 3) so that all visitors would see it regardless of predicted group membership.

[0149] Featured Site Section 56 is another example of a piece of content, wholly separate from the other pieces of content on the page, which might be chosen based on the present method.

[0150] An exemplary hardware environment of the preferred embodiment of the present invention is a typical distributed computer system, wherein client computers are connected via a network to server computers. A typical combination of resources may include clients that are personal computers or workstations, and servers that are personal computers, workstations, minicomputers, and/or mainframes. The network preferably comprises the Internet, although it could also comprise intra-nets, LANs, WANs, SNA networks, etc. Surfers of the Internet typically use client computers to surf on the World Wide Web.

[0151] Each of the computers, be they client or server, generally include, inter alia, a processor, random access memory (RAM), data storage devices, data communications devices, monitor, visitor input devices, etc. Those skilled in the art will recognize that any combination of the above components, or any number of different components, peripherals, and other devices, may be used with the client and server.

[0152] Each of the computers, be they client or server, operate under the control of an operating system, such as UNIX®, Windows®, Linux® etc. The operating system is booted into the memory of the computer for execution when the computer is powered-on or reset. In turn, the operating system then controls the execution of one or more computer programs by the computer.

[0153] In the present invention, the operating system of the client controls the execution of a web browser and the operating system of the server controls the execution of a web server. The web browser is typically a computer program such as NetScape®, Internet Explorer®, etc. The web server is typically a computer program such as a World Wide Web daemon.

[0154] The present invention is usually (although not necessarily) implemented by a computer program and its associated history log database (also known as a web server log) that are executed, interpreted, and/or stored in at least one of the servers under the control of that server's operating system. This computer program, may be a separate computer program or may be implemented within the operating system or the web server, and its associated database. The computer program causes the server to perform the desired functions as described herein.

[0155] The operating system, web server, and computer program are comprised of instructions which, when read and executed by the server, causes the server to perform the steps necessary to implement and/or use the present invention. Generally, the operating system, web server, computer program, and/or database are tangibly embodied in and/or readable from a device, carrier, or media, such as a memory, data storage device, and/or data communications device connected to the server. The tangible embodiments of memory are illustrative and not intended to limit the scope of the present invention. Under control of the operating system, the web server, computer program, and/or database may be loaded from the memory, data storage device, and/or data communications device into the memory of the server for use during actual operations.

[0156] Thus, the present invention may be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware, or any combination thereof. The term “article of manufacture” (or alternatively, “computer program product”) as used herein is intended to encompass a computer program accessible from any computer-readable device, carrier, or media. Of course, those skilled in the art will recognize many modifications may be made to this configuration without departing from the scope of the present invention.

[0157] While the invention has been particularly shown and described with respect to exemplary embodiments thereof, it will be understood by those skilled in the art that the foregoing and other changes in form and details may be made therein without departing from the spirit and scope of the invention that should be limited only by the scope of the appended claims. 

What is claimed is:
 1. A method for displaying targeted content on web pages by predicting the group membership of individual visitors, comprising the steps of: (a) obtaining data items relating to a web browser request for a web page; (b) applying the data items to a set of predictive transfer functions to obtain a series of confidence factors relating to a plurality of predefined visitor groups; (c) selecting one of the plurality of predefined visitor groups based on the series of confidence factors; (d) selecting content targeted to the selected group; and (e) delivering the selected targeted content to the web browser for display.
 2. The method of claim 1 wherein step (a) includes extracting visitor supplied data items from a header accompanying the web browser request.
 3. The method of claim 2 wherein step (a) includes obtaining supplemental data items from lookup tables and/or databases.
 4. The method of claim 3 wherein the step of obtaining supplemental data items includes obtaining location specific data items relating to an IP address of the visitor extracted from the header.
 5. The method of claim 1 wherein the selecting steps (c) and (d) are performed by a best-fit matching algorithm.
 6. The method of claim 5 wherein the best-fit matching algorithm is a least-squares fit algorithm.
 7. The method of claim 1 wherein the predictive transfer functions are of the form: Y_(n)=F(X₁ . . . X_(m)), where n is 1 to m predefined visitor groups, each Y is a confidence factor for membership in group n, and each X represents a different data item.
 8. The method of claim 7 wherein the predictive transfer functions are of the form: Y_(n)=aX₁+bX₂+cX₃ . . . , where n is 1 to m predefined visitor groups, each Y is a confidence factor for membership in group n, each X represents a different data item, and each a, b, c . . . , represents a weight factor for each X based on the relevance of each X to each Y_(n).
 9. The method of claim 1 further comprising applying statistical regression techniques to develop the predictive transfer functions to link anonymous characteristics of visitors to the plurality of predefined visitor groups, whose members have similar browsing patterns, and tagging and weighting content according to its relevance to each group.
 10. The method of claim 1 wherein the targeted content is displayed on the first web page presented to the visitor.
 11. The method of claim 2 wherein the visitor supplied data items include one or more of: browser type, browser version, operating system, referring URL, and IP address.
 12. The method of claim 3 wherein the supplemental data items include one or more of: time of day, day of week, day of month, day of quarter, industry cycles, financial event schedule, and product event schedule.
 13. The method of claim 4 wherein the location specific data items include one or more of: country, time zone, city, state/province, top-level domain, secondary domain, line speed, and connection type.
 14. An article of manufacture comprising: a computer usable medium having computer readable program code means embodied therein for displaying targeted content on web pages by predicting the group membership of individual visitors, the computer readable program code means comprising: computer readable program code means for obtaining data items relating to a web browser request for a web page; computer readable program code means for applying the data items to a set of predictive transfer functions to obtain a series of confidence factors relating to a plurality of predefined visitor groups; computer readable program code means for selecting one of the plurality of predefined visitor groups based on the series of confidence factors; and computer readable program code means for selecting content targeted to the selected group; and computer readable program code means for delivering the selected targeted content to the web browser for display.
 15. The article of manufacture of claim 14 wherein the computer readable program code means for obtaining data items includes extracting visitor supplied data items from a header accompanying the web browser request.
 16. The article of manufacture of claim 15 wherein the computer readable program code means for obtaining data items includes obtaining supplemental data items obtained from lookup tables and/or databases.
 17. The article of manufacture of claim 16 wherein the computer readable program code means for obtaining supplemental data items includes obtaining location specific data items relating to an IP address of the visitor extracted from the header.
 18. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps for displaying targeted content on web pages by predicting the group membership of individual visitors, said method steps comprising: (a) obtaining data items relating to a web browser request for a web page; (b) applying the data items to a set of predictive transfer functions to obtain a series of confidence factors relating to a plurality of predefined visitor groups; (c) selecting one of the plurality of predefined visitor groups based on the series of confidence factors; (d) selecting content targeted to the selected group; and (e) delivering the selected targeted content to the web browser for display.
 19. The program storage device of claim 18 wherein step (a) includes extracting visitor supplied data items from a header accompanying the web browser request.
 20. The program storage device of claim 19 wherein step (a) includes obtaining supplemental data items from lookup tables and/or databases.
 21. The program storage device of claim 20 wherein the step of obtaining supplemental data items includes obtaining location specific data items relating to an IP address of the visitor extracted from the header.
 22. An apparatus for displaying targeted content on web pages by predicting the group membership of individual visitors, comprising: a network server with a memory; and a computer program, performed by the network server, for: (a) obtaining data items relating to a web browser request for a web page; (b) applying the data items to a set of predictive transfer functions to obtain a series of confidence factors relating to a plurality of predefined visitor groups; (c) selecting one of the plurality of predefined visitor groups based on the series of confidence factors; (d) selecting content targeted to the selected group; and (e) delivering the selected targeted content to the web browser for display.
 23. The apparatus of claim 22 wherein step (a) includes extracting visitor supplied data items from a header accompanying the web browser request.
 24. The apparatus of claim 23 wherein step (a) includes obtaining supplemental data items from lookup tables and/or databases.
 25. The apparatus of claim 24 wherein the step of obtaining supplemental data items includes obtaining location specific data items relating to an IP address of the visitor extracted from the header.
 26. The apparatus of claim 22 wherein the server includes a rules engine for storing the transfer functions and applying the data items to the transfer functions.
 27. The apparatus of claim 26 wherein the rules engine stores a best-fit matching algorithm for performing the selecting steps (c) and (d).
 28. The apparatus of claim 27 further including a content memory for storing a plurality of content and target group weights for the content.
 29. The apparatus of claim 28 wherein the best fit algorithm selects the targeted content based on the target group weights obtained from the content memory and the confidence factors determined by the transfer functions.
 30. The apparatus of claim 29 further comprising lookup tables containing the supplemental data items and wherein the rules engine queries the lookup tables for the supplemental data items.
 31. The apparatus of claim 30 further comprising a geolocation database containing the location specific data items and wherein the network server performs a lookup based on the IP address of the visitor to obtain the location data specific to the visitor.
 32. A method for predicting the group membership of individual web visitors for displaying targeted web content on web pages, comprising the steps of: defining web visitor groups with similar browsing characteristics; tagging each piece of a set of web content with a series of weights to indicate an applicability of each piece of content to each group; defining data items relating to a web browser request for a web page; identifying representative web content to be used to determine the group membership of a visitor; defining a set of transfer functions linking the data items to the visitor groups, the transfer functions producing confidence factors that a particular visitor is considered a member of a particular group; obtaining data items relating to a web browser request for a web page; applying the data items to the set of transfer functions to obtain a series of confidence factors Yn relating to a plurality of predefined visitor groups; selecting one of the plurality of predefined visitor groups based on the series of confidence factors; selecting content targeted to the selected group; and delivering the selected targeted content to the web browser for display.
 33. The method of claim 32 wherein the data items include visitor supplied data items present in a header accompanying a web browser request.
 34. The method of claim 33 wherein the data items include supplemental data items from lookup tables and/or databases.
 35. The method of claim 34 wherein the supplemental data items include location specific data items relating to an IP address of the visitor.
 36. The method of claim 35 wherein the selecting steps are performed by a best-fit matching algorithm.
 37. The method of claim 36 wherein the visitor supplied data items include one or more of: browser type, browser version, operating system, referring URL, and IP address.
 38. The method of claim 37 wherein the supplemental data items include one or more of: time of day, day of week, day of month, day of quarter, industry cycles, financial event schedule, and product event schedule.
 39. The method of claim 38 wherein the location specific data items include one or more of: country, time zone, city, state/province, top-level domain, secondary domain, line speed, and connection type.
 40. The method of claim 32 wherein the set of transfer functions are of the form: Y_(n)=F(X₁ . . . X_(m)), where n is 1 to m predefined visitor groups, each Y is a confidence factor for membership in group n, and each X represents a different data item.
 41. The method of claim 32 wherein the set of transfer functions are of the form: Y_(n)=aX₁+bX₂+cX₃ . . . , where n is 1 to m predefined visitor groups, each Y is a confidence factor for membership in group n, each X represents a different data item, and each a, b, c . . . , represents a weight factor for each X based on the relevance of each X to each Y_(n).
 42. The method of claim 32 comprising applying a statistical regression technique to define the set of transfer functions.
 43. The method of claim 32, comprising applying a best guess estimation technique to define the set of transfer functions.
 44. The method of claim 32, comprising applying a graphical analysis technique to define the set of transfer functions.
 45. The method of claim 32, comprising applying a hypothesis testing technique to define the set of transfer functions. 